{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "b712f69b",
   "metadata": {},
   "source": [
    "在时间序列分析中，描述了如何通过协整的方式寻找可以配对交易的组合，本节在此基础上实现自动脚本运行，找到相关性高的股票。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "id": "b558795f",
   "metadata": {},
   "outputs": [],
   "source": [
    "import os\n",
    "import requests,re\n",
    "import akshare as ak\n",
    "import statsmodels.api as sm\n",
    "import pandas as pd\n",
    "import statsmodels.tsa.stattools as ts\n",
    "from queue import PriorityQueue\n",
    "import seaborn as sns\n",
    "import matplotlib.dates as mdates\n",
    "from matplotlib import pyplot as plt\n",
    "import numpy as np"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8832b3ca",
   "metadata": {},
   "source": [
    "## 1.如何获取股票集合"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "25a4f02c",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "7817\n",
      "['000001', '000002', '000003', '000004', '000005']\n"
     ]
    }
   ],
   "source": [
    "# 1.1通过三方网站，获取a股集合,股票很多，会有点慢\n",
    "response = requests.get(\"http://www.shdjt.com/js/lib/astock.js\")\n",
    "astock = re.findall(r\"~([a-z0-9]*)`\", response.text)\n",
    "print(len(astock))\n",
    "print(astock[0:5])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "id": "33b62533",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "==========》沪深300\n",
      "     品种代码  品种名称        纳入日期\n",
      "0  601916  浙商银行  2023-12-11\n",
      "1  301269  华大九天  2023-12-11\n",
      "2  688256   寒武纪  2023-12-11\n",
      "==========》中证指数沪深300\n",
      "    成分券代码 成分券名称     权重\n",
      "0  000001  平安银行  0.524\n",
      "1  000002   万科A  0.410\n",
      "2  000063  中兴通讯  0.486\n"
     ]
    }
   ],
   "source": [
    "# 1.2 通过akshare 获取成分股\n",
    "## https://akshare.akfamily.xyz/data/index/index.html#id16\n",
    "## 获取新浪沪深300 \n",
    "index_stock_cons_df = ak.index_stock_cons(symbol=\"000300\")\n",
    "print(\"==========》沪深300\")\n",
    "print(index_stock_cons_df[0:3])\n",
    "## 获取中证指数沪深300\n",
    "print(\"==========》中证指数沪深300\")\n",
    "index_stock_cons_csindex_df = ak.index_stock_cons_csindex(symbol=\"000300\")\n",
    "#print(index_stock_cons_csindex_df[['成分券代码','成分券名称']])\n",
    "## 获取成分权重\n",
    "index_stock_cons_weight_csindex_df = ak.index_stock_cons_weight_csindex(symbol=\"000300\")\n",
    "print(index_stock_cons_weight_csindex_df[['成分券代码','成分券名称','权重']][0:3])"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "50244d77",
   "metadata": {},
   "source": [
    "## 2. 通过股票集合获取行情"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "id": "9dd71ae1",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "           日期     开盘     收盘     最高     最低      成交量           成交额    振幅   涨跌幅  \\\n",
      "0  2023-03-01  13.80  14.17  14.19  13.74  1223452  1.719711e+09  3.27  2.83   \n",
      "1  2023-03-02  14.13  14.24  14.44  14.06  1015877  1.447566e+09  2.68  0.49   \n",
      "2  2023-03-03  14.35  14.29  14.37  14.14   690954  9.855521e+08  1.62  0.35   \n",
      "\n",
      "    涨跌额   换手率  \n",
      "0  0.39  0.63  \n",
      "1  0.07  0.52  \n",
      "2  0.05  0.36  \n"
     ]
    }
   ],
   "source": [
    "## 2.1 以沪深300股票为例\n",
    "##### 使用akshare 获取股票历史行情，adjust\tstr\t默认返回不复权的数据; qfq: 返回前复权后的数据; hfq: 返回后复权后的数据\n",
    "stock_zh_a_hist_df = ak.stock_zh_a_hist(symbol=\"000001\", period=\"daily\", start_date=\"20230301\", end_date='20230907', adjust=\"\")\n",
    "print(stock_zh_a_hist_df[:3])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "id": "a20c1f2f",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "603023的数据量: 474\n",
      "601916的数据量: 478\n",
      "删除空值之后的数据量: 474\n"
     ]
    }
   ],
   "source": [
    "## 2.2 使这里使用停牌的股票测试一下，如果存在某个单一股票停牌，则删除对应的数据不做比较， 603023 20230711有停牌\n",
    "astock = ak.stock_zh_a_hist(symbol='603023', period=\"daily\", start_date=\"20220101\", end_date='20231231', adjust=\"hfq\")\n",
    "astock.index = astock['日期']\n",
    "bstock = ak.stock_zh_a_hist(symbol='601916', period=\"daily\", start_date=\"20220101\", end_date='20231231', adjust=\"hfq\")\n",
    "bstock.index = bstock['日期']\n",
    "combination = pd.DataFrame()\n",
    "combination['astock'] = astock['收盘']\n",
    "combination['abtock'] = bstock['收盘']\n",
    "print(\"603023的数据量:\",len(astock))\n",
    "print(\"601916的数据量:\",len(bstock))\n",
    "combination.dropna()\n",
    "print(\"删除空值之后的数据量:\",len(combination))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "id": "3f2b22e3",
   "metadata": {},
   "outputs": [],
   "source": [
    "## 2.3 foreach stock to get quote, and set to quote dict, time will be a little long\n",
    "quote_dict = {}\n",
    "for stock in index_stock_cons_df['品种代码']:\n",
    "    stock_zh_a_hist_df = ak.stock_zh_a_hist(symbol=stock, period=\"daily\", start_date=\"20220101\", end_date='20231231', adjust=\"hfq\")\n",
    "    stock_zh_a_hist_df.index = stock_zh_a_hist_df['日期']\n",
    "    quote_dict[stock] = stock_zh_a_hist_df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "id": "39923b13",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "沪深300股票的数据量 300\n",
      "沪深300每2个股票构成一个集合的数据量 44850\n"
     ]
    }
   ],
   "source": [
    "## 2.4 look for relative stock pair, there are 300 stocks, each combination include 2 stock , 300*(300-1)/2 = 44850\n",
    "### 2.4.1 构建所有的组合\n",
    "#print(len(quote_dict))\n",
    "all_combinations=[]\n",
    "hs300 = index_stock_cons_df['品种代码']\n",
    "print(\"沪深300股票的数据量\",len(hs300))\n",
    "for i in range(len(hs300) - 1):\n",
    "    for j in range(i + 1,len(hs300)) :\n",
    "        all_combinations.append(hs300[i]+','+hs300[j])\n",
    "        #print(hs300[i],',',hs300[j])\n",
    "print(\"沪深300每2个股票构成一个集合的数据量\",len(all_combinations))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5251581e",
   "metadata": {},
   "source": [
    "## 3. 计算CADF"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "id": "fdcc429d",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(False, 0, 0.01565804329401019)"
      ]
     },
     "execution_count": 42,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# calculate cadf, get cadf val\n",
    "# cadf 参数的含义见时间序列分析部分\n",
    "def calculate_cadf(stock_combination):\n",
    "    # 分离股票代码\n",
    "    stock_vec = stock_combination.split(',')\n",
    "    if len(stock_vec) != 2:\n",
    "        print('unknown stock_combination', stock_combination)\n",
    "        return\n",
    "    stock1 = stock_vec[0]\n",
    "    stock2 = stock_vec[1]\n",
    "    # 构建新的组合\n",
    "    stock_combination = pd.DataFrame()\n",
    "    stock_combination[stock1] = quote_dict[stock1]['收盘']\n",
    "    stock_combination[stock2] = quote_dict[stock2]['收盘']\n",
    "    # 删除空值\n",
    "    stock_combination = stock_combination.dropna()\n",
    "    #print(stock_combination)\n",
    "    ## 进行OLS 训练，寻找参数\n",
    "    model = sm.OLS(stock_combination[stock1], stock_combination[stock2])\n",
    "    res= model.fit()\n",
    "#     print(res.params[0])\n",
    "#     print(res.summary())\n",
    "    stock_combination[\"res\"] = stock_combination[stock1] - res.params[0] *stock_combination[stock2]\n",
    "#     #print(df[\"res\"])\n",
    "    # 获取参数结果\n",
    "    cadf = ts.adfuller(stock_combination[\"res\"])\n",
    "    if cadf[1] >= 0.001 or cadf[0] > cadf[4]['1%']:\n",
    "        return False, 0, cadf[1]\n",
    "#     print(cadf)\n",
    "#     print(cadf[0])\n",
    "#     print(cadf[1])\n",
    "#     print(cadf[4]['1%'])\n",
    "    return True, cadf[0],cadf[1]\n",
    "\n",
    "calculate_cadf('601916,301269')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "id": "fcc21415",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/neil/anaconda3/lib/python3.10/site-packages/statsmodels/regression/linear_model.py:940: RuntimeWarning: divide by zero encountered in log\n",
      "  llf = -nobs2*np.log(2*np.pi) - nobs2*np.log(ssr / nobs) - nobs2\n"
     ]
    }
   ],
   "source": [
    "# 获取计算结果，放在优先队列中\n",
    "cadf_pq = PriorityQueue()\n",
    "## 数据接近50000个组合，只运行10000个组合，看看结果\n",
    "for combination in all_combinations[0:10000]:\n",
    "#     print(combination)\n",
    "    cadfPassed, tStat , pValue= calculate_cadf(combination)\n",
    "    if cadfPassed:\n",
    "        #print(tStat, combination)\n",
    "        cadf_pq.put((tStat,pValue, combination))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "id": "10166ecd",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(-6.10279795196737, 9.743996556382118e-08, '600674,300433')\n",
      "(-5.923899040209228, 2.469527406422219e-07, '601699,300433')\n",
      "(-5.617043137434816, 1.1679665215196353e-06, '600023,300433')\n",
      "(-5.314153220357734, 5.117872580870923e-06, '600803,600011')\n",
      "(-5.139567355684046, 1.1665725327115197e-05, '000983,002475')\n",
      "(-5.124443400485768, 1.2516222555184482e-05, '600039,300433')\n",
      "(-5.086955736567507, 1.4890852108722185e-05, '600372,000661')\n",
      "(-5.0737055834075315, 1.5830009880242826e-05, '600515,002603')\n",
      "(-5.0499788575149696, 1.7656566807224052e-05, '600803,300413')\n",
      "(-5.010266453862187, 2.11779429744831e-05, '002603,002352')\n"
     ]
    }
   ],
   "source": [
    "# 获取到前10组股票\n",
    "for i in range(10):\n",
    "    print(cadf_pq.get())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 77,
   "id": "dccc67be",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAj4AAAHlCAYAAAD1I/bdAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAADNaUlEQVR4nOy9eZgcVb3//67q6nV6ZnpmkpnJnkAWQiAhIRDCGkBWQRFFBPWCV/kpiyCIfFmuAi5BFpGLK4oSZFEUuYgKCAgJIGGHBEgIJCRk3yaz9lrb7486p+pUdfW+p8/refJkpqe6+nQt57zrswq6ruvgcDgcDofDaQLEWg+Aw+FwOBwOp1pw4cPhcDgcDqdp4MKHw+FwOBxO08CFD4fD4XA4nKaBCx8Oh8PhcDhNAxc+HA6Hw+FwmgYufDgcDofD4TQNXPhwOBwOh8NpGrjw4XA4HA6H0zRw4cPhcDKyZMkSCIJg/pMkCWPGjMEXvvAFfPjhhxX73BtuuAGCIOS17eTJk3H++edXbCyFjIduR//5fD5MmTIFl112GQYGBszt6HHdsGFDwWN5/PHHccMNNxT8Pg6HY8CFD4fDyck999yD5cuX45lnnsEll1yCxx57DEceeST6+/sr8nlf+9rXsHz58orsuxo8+eSTWL58Of75z3/ijDPOwM9+9jOccsopKEeHoMcffxw33nhjGUbJ4TQnUq0HwOFw6p8DDjgA8+fPBwAsWrQIqqri+uuvx6OPPoqvfOUrZf+88ePHY/z48WXfb7U4+OCDMWrUKADACSecgL6+Ptx333146aWXcMQRR9R4dBxOc8MtPhwOp2CoCNqxY4ft9ddffx2f+tSn0NnZiUAggLlz5+LPf/6zbZtYLIYrr7wSU6ZMQSAQQGdnJ+bPn48//vGP5jZuriVZlnHVVVeht7cXoVAIRx55JF599dW0sWVyS7m5lx566CGceOKJGDNmDILBIGbOnImrr74a0Wi04GOSjcMOOwwA8PHHH2fd7ve//z3mzJljHpfPfOYzWL16tfn3888/H7/4xS8AwOZSK8ZlxuE0K9ziw+FwCmb9+vUAgOnTp5uvPffcczj55JOxYMEC/PrXv0Z7ezv+9Kc/4eyzz0YsFjPjcK644grcd999+OEPf4i5c+ciGo3i3XffRV9fX9bPvOCCC/CHP/wBV155JU444QS8++67OPPMMzE8PFz09/jwww9x6qmn4lvf+hZaWlrw/vvv4+abb8arr76KZ599tuj9Olm7di0AYPTo0Rm3uemmm3DttdfinHPOwU033YS+vj7ccMMNWLhwIV577TVMmzYN3/3udxGNRvHwww/bXIFjxowp21g5nL0encPhcDJwzz336AD0l19+WZdlWR8eHtaffPJJvbe3Vz/66KN1WZbNbffbbz997ty5ttd0XddPO+00fcyYMbqqqrqu6/oBBxygn3HGGVk/9/rrr9fZ6Wn16tU6AP3yyy+3bffAAw/oAPTzzjsv43ud32X9+vWun6lpmi7Lsr5s2TIdgL5ixYqc+8w07u3bt+uyLOv9/f36/fffrweDQX3ChAl6PB53HUt/f78eDAb1U0891ba/jRs36n6/Xz/33HPN1y6++OK8xsLhcNzhri4Oh5OTww47DF6vF62trTj55JPR0dGBv/3tb5Akw2i8du1avP/++/jiF78IAFAUxfx36qmnYtu2bVizZg0A4NBDD8UTTzyBq6++GkuXLkU8Hs/5+c899xwAmPunfP7znzfHUAwfffQRzj33XPT29sLj8cDr9eKYY44BAJuLqVB6e3vh9XrR0dGBL33pS5g3bx6efPJJBAIB1+2XL1+OeDyelp02YcIEHHfccfj3v/9d9Fg4HI4d7uricDg5+cMf/oCZM2dieHgYDz30EO666y6cc845eOKJJwBYsT5XXnklrrzyStd97N69GwBw5513Yvz48XjooYdw8803IxAI4KSTTsKtt96KadOmub6XusF6e3ttr0uShK6urqK+08jICI466igEAgH88Ic/xPTp0xEKhbBp0yaceeaZeQmyTDzzzDNob2+H1+vF+PHjc46Rfj83l9XYsWPx9NNPFz0WDodjhwsfDoeTk5kzZ5oBzcceeyxUVcXdd9+Nhx9+GJ/73OfMDKZrrrkGZ555pus+ZsyYAQBoaWnBjTfeiBtvvBE7duwwrT+nn3463n//fdf3UuGwfft2jBs3znxdUZS02CBqVUkmk/D7/ebrVHhRnn32WWzduhVLly41rTwAbPV2imXOnDnmMckH+v22bduW9retW7cWtC8Oh5Md7uricDgFc8stt6CjowPf+973oGkaZsyYgWnTpmHFihWYP3++67/W1ta0/fT09OD888/HOeecgzVr1iAWi7l+3qJFiwAADzzwgO31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3HMPFEXBqlWr8N///d8YGBjAH//4x5L33dvbW4YRNh58GWty8rX4KAoVPtziw+FwGhdd1xFLKTX5p+uFN/3x+/3o7e3F+PHjceKJJ+Lss8/GU089Zf79nnvuwcyZMxEIBLDffvvhl7/8pfm3VCqFSy65BGPGjEEgEMDkyZNx0003mX93urpeffVVzJ07F4FAAPPnz8dbb71lG8uSJUsQiURsrz366KO2TKt169bh05/+NHp6ehAOh3HIIYfgmWeeyfodb7jhBkycOBF+vx9jx47FpZdeWsghKhhu8WlyJCJ8cilgKnwE3tSRw+E0MHFZxf7f+1dNPnvV909CyFf8svvRRx/hySefhNdrtPz47W9/i+uvvx4///nPMXfuXLz11lu44IIL0NLSgvPOOw933nknHnvsMfz5z3/GxIkTsWnTJmzatMl139FoFKeddhqOO+443H///Vi/fj0uu+yygsc4MjKCU089FT/84Q8RCARw77334vTTT8eaNWswceLEtO0ffvhh/PSnP8Wf/vQnzJo1C9u3b8eKFSsK/txC4MKnyaGuLjGHzUflFh8Oh8OpOv/4xz8QDoehqioSiQQA4PbbbwcA/OAHP8BPfvITnHnmmQCAKVOmYNWqVbjrrrtw3nnnYePGjZg2bRqOPPJICIKASZMmZfycBx54AKqq4ve//z1CoRBmzZqFzZs348ILLyxovHPmzMGcOXPM33/4wx/i//7v//DYY4/hkksuSdt+48aN6O3txSc+8Ql4vV5MnDgRhx56aEGfWShc+DQ51OIDGOLGI7nbfmiMj8CFD4fDaWCCXg9Wff+kmn12oRx77LH41a9+hVgshrvvvhsffPABvvnNb2LXrl3YtGkTvvrVr+KCCy4wt1cUBe3t7QCM4OgTTjgBM2bMwMknn4zTTjsNJ554ouvnrF69GnPmzLFVuF64cGHB441Go7jxxhvxj3/8A1u3boWiKIjH49i4caPr9meddRbuuOMO7LPPPjj55JNx6qmn4vTTT4ckVU6ecOHT5EheS+ikFA3BDMKHdmfnri4Oh9PICIJQkrup2rS0tGDq1KkAgDvvvBPHHnssbrzxRtN68tvf/hYLFiywvYf2sJo3bx7Wr1+PJ554As888ww+//nP4xOf+AQefvjhtM/JJ/5IFMW07ZytI77zne/gX//6F2677TZMnToVwWAQn/vc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\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "def plot_residuals(stock_combination):\n",
    "    stock_vec = stock_combination.split(',')\n",
    "    if len(stock_vec) != 2:\n",
    "        print('unknown stock_combination', stock_combination)\n",
    "        return\n",
    "    stock1 = stock_vec[0]\n",
    "    stock2 = stock_vec[1]\n",
    "    stock_combination = pd.DataFrame()\n",
    "    stock_combination[stock1] = quote_dict[stock1]['收盘']\n",
    "    stock_combination[stock2] = quote_dict[stock2]['收盘']\n",
    "    # 删除空值\n",
    "    stock_combination = stock_combination.dropna()\n",
    "    #print(stock_combination)\n",
    "    ## 进行OLS 训练，寻找参数\n",
    "    model = sm.OLS(stock_combination[stock1], stock_combination[stock2])\n",
    "    res= model.fit()\n",
    "    stock_combination[\"res\"] = stock_combination[stock1] - res.params[0] *stock_combination[stock2]\n",
    "    mean=np.mean(stock_combination[\"res\"])\n",
    "    std=np.std(stock_combination[\"res\"])\n",
    "    up=mean+1.5*std\n",
    "    down=mean-1.5*std\n",
    "    mean_line=pd.Series(mean,index=stock_combination.index)\n",
    "    up_line=pd.Series(up,index=stock_combination.index)\n",
    "    down_line=pd.Series(down,index=stock_combination.index)\n",
    "    stock_combination[\"res\"]\n",
    "    months = mdates.MonthLocator() # every month \n",
    "    fig, ax = plt.subplots()\n",
    "    ax.plot(stock_combination.index, stock_combination[\"res\"], label=\"Residuals\")\n",
    "    ax.plot(stock_combination.index, down_line, label=\"Down\")\n",
    "    ax.plot(stock_combination.index, up_line, label=\"Up\")\n",
    "    ax.plot(stock_combination.index, mean_line, label=\"Mean\")\n",
    "    gap = 10\n",
    "    plt.ylabel('Price')\n",
    "    plt.xlabel('Date')\n",
    "    plt.xticks(rotation=90, size=8)\n",
    "    plt.title('Residual Plot')\n",
    "    plt.legend()\n",
    "    plt.plot(stock_combination[\"res\"])\n",
    "    plt.show()\n",
    "\n",
    "plot_residuals('600803,600011')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "58649659",
   "metadata": {},
   "source": [
    "可以看到在1.5 个标准差的时候，是可以来回做套利的，价格在Up 和Down 之间振动，最后总是回到均值附近。\n",
    "\n",
    "##### 上面的过程存在哪些问题： \n",
    "Question1: 有些股票，比如浙商银行是2023-12-11 才纳入的000300， 但用于统计相关性的数据起始时间是20220101，属于使用了未来函数，因为这里只是计算股票之间的相关性，和指数成分之间关系不大，但如果基于股票池的回测中使用了这组数据呢？\n",
    "Question2: 股票价格是不一样的,两个股票分别应该交易的单位是多少才能构成配对？"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "2a4c64d6",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.9"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
